package com.api.tiny.mirror.service.product;

import com.api.tiny.mirror.service.product.constant.ProductApiConstants;
import com.api.tiny.mirror.service.product.request.CheckAbilityLhcPlayRequest;
import com.api.tiny.mirror.service.product.response.AbilityLhcVO;
import com.api.tiny.mirror.service.product.response.CheckAbilityLhcPlayVO;
import com.tiny.mirror.basic.web.dto.response.BaseResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @Author: lanpai
 * @Description:
 * @Date: Create in 2022/10/17
 */
@Validated
@Tag(name = "能力lhc接口", description = "能力lhc接口")
public interface AbilityLhcApiService {

  @Operation(summary = "获取玩法信息")
  @GetMapping(
      value = ProductApiConstants.ABILITY_LHC_API_PREFIX,
      produces = MediaType.APPLICATION_JSON_VALUE
  )
  BaseResponse<AbilityLhcVO> getPlay(
      @RequestParam(value = "type") Integer type
  );

  @Operation(summary = "验证玩法信息")
  @PostMapping(
      value = ProductApiConstants.ABILITY_LHC_API_PREFIX + "/check",
      produces = MediaType.APPLICATION_JSON_VALUE,
      consumes = MediaType.APPLICATION_JSON_VALUE
  )
  BaseResponse<CheckAbilityLhcPlayVO> checkPlay(
      @RequestBody @Validated CheckAbilityLhcPlayRequest request
  );
}
